/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.opt.recherchemulticriteres.services;

import java.util.List;

import fr.generali.accueilclient.commun.exception.AccueilClientBusinessException;
import fr.generali.accueilclient.opt.recherchemulticriteres.om.ICriteresCampagneRechMultiCriteres;
import fr.generali.accueilclient.opt.recherchemulticriteres.om.ICriteresClientListeRechMultiCriteres;
import fr.generali.accueilclient.opt.recherchemulticriteres.om.ICriteresClientRechMultiCriteres;
import fr.generali.accueilclient.opt.recherchemulticriteres.om.IDossierRechMultiCriteres;

/**
 * @author Holmes Kelly
 */
public interface IRechercheListeDossiersMultiCriteresService {

    /**
     * @param criteresClient criteres client
     * @return liste des dossiers trouvés
     * @throws AccueilClientBusinessException business exception
     */
    List<IDossierRechMultiCriteres> rechercherListeDossiersClient(ICriteresClientRechMultiCriteres criteresClient)
        throws AccueilClientBusinessException;

    /**
     * @param criteresCampagne list criteres campagne
     * @return liste des dossiers trouvés
     * @throws AccueilClientBusinessException business exception
     */
    List<IDossierRechMultiCriteres> rechercherListeDossierCampagne(ICriteresCampagneRechMultiCriteres criteresCampagne)
        throws AccueilClientBusinessException;

    /**
     * @param criteresClientListeRechMultiCriteres criteres numero client
     * @return liste des dossiers trouvés
     * @throws AccueilClientBusinessException business exception
     */
    List<IDossierRechMultiCriteres> rechercherListeDossierParNumeroClient(
                    ICriteresClientListeRechMultiCriteres criteresClientListeRechMultiCriteres)
        throws AccueilClientBusinessException;
}
